#define _CRT_SECURE_NO_WARNINGS 1
#include<string>
#include<iostream>
#include<vector>
#include<list>
#include<algorithm>

using namespace std;


//void TestPushBackReserve()
//{
//	string s;
//	s.reserve(100);
//	size_t sz = s.capacity();
//	cout << "capacity changed:" << sz << '\n';
//	
//	cout << "making s grow:\n";
//	for (int i = 0; i < 100; i++)
//	{
//		s.push_back('c');
//		if (sz != s.capacity())
//		{
//			sz = s.capacity();
//			cout << "capacity changed:" << sz << '\n';
//		}
//	}
//
//	s.clear();
//	cout << "capacity changed:" << sz << '\n';
//
//	s.reserve(5);
//	sz = s.capacity();
//	cout << "capacity changed:" << sz << '\n';
//}
//
//int main()
//{
//	TestPushBackReserve();
//	return 0;
//}

//int main()
//{
//	string s1("hello world");
//	s1.reserve(100);
//	cout << s1.size() << endl;
//	cout << s1.capacity() << endl;
//
//	s1.resize(200,'x');
//	cout << s1.size() << endl;
//	cout << s1.capacity() << endl;
//
//	return 0;
//}

//int main()
//{
//	string s1("hello world");
//	s1.append("ssssssssss");
//	cout << s1 << endl;
//
//	s1.assign("xxxxxxxxxxxxxxxxxxxxxx");
//	cout << s1 << endl;
//
//	s1.insert(0,10,'x');
//	cout << s1 << endl;
//	s1.insert(10, "world");
//	cout << s1 << endl;
//
//	return 0;
//}

//int main()
//{
//	string s1("hello world");
//	s1.erase(5, 1);
//	cout << s1 << endl;
//	return 0;
//}

//int main()
//{
//	string s2("hello world hello myy");
//	string s3;
//	for (auto ch : s2)
//	{
//		if (ch != ' ')
//		{
//			s3 += ch;
//		}
//		else
//		{
//			s3 += "20%";
//		}
//	}
//	s2 = s3;
//	cout << s2 << endl;
//
//	return 0;
//
//}

int main()
{
	string url = "https://legacy.cplusplus.com/reference/string/string/";
	size_t pos1 = url.find("://");
	string protocol;
	if (pos1 != string::npos)
	{
		protocol = url.substr(0, pos1);
	}
	cout << protocol << endl;

	string domain;
	string uri;
	size_t pos2 = url.find('/', pos1 + 3);
	if (pos2 != string::npos)
	{
		domain = url.substr(pos1 + 3, pos2 - (pos1 + 3));
		uri = url.substr(pos2 + 1);
	}
	cout << domain << endl;
	cout << uri << endl;
	
	return 0;
}